#ifndef MBOARD_H
#define MBOARD_H

#include <QWidget>
#include <QLayout>
#include <QLabel>
#include <QGraphicsView>

#include "mgame.h"
#include "mpanel.h"
#include "mviewer.h"
#include "mpicker.h"

class MBoard : public QWidget
{
    Q_OBJECT
public:
    explicit MBoard(QWidget *parent = 0);

    void newGame();
    
signals:
public slots:
    void gameOver(bool win);
    void advance();
    void evilSelected(MGame::PlayerID);
    void changeTurn();
    void reset();

private:

    MPanel *panel;
    MViewer *viewer;
    MPicker *picker;
    MGame *game;
    QGraphicsView *up, *mid;
    QLabel *info;

    // load children items
    void build();
    MGame::PlayerID evil_p;

};

#endif // MBOARD_H
